package br.edu.ifce.mflj.dados;

import java.awt.Image;

import javax.swing.ImageIcon;

public class Peca {

	private Image		imagem;

	private TipoPeca	tipoPeca;
	private Integer		coordenadaX,
						coordenadaY,
						coluna,
						linha;

	public Peca( Integer coordenadaX, Integer coordenadaY, TipoPeca tipoPeca ){
		String nomeImagem = "";

		this.tipoPeca		= tipoPeca;
		this.coordenadaX	= coordenadaX;
		this.coordenadaY	= coordenadaY;

		switch ( this.tipoPeca ) {
			case BANDEIRA:
				nomeImagem = "imagens/bandeira.png";
				break;

			case ESPIAO:
				nomeImagem = "imagens/espiao.png";
				break;

			case SOLDADO:
				nomeImagem = "imagens/soldado.png";
				break;

			case CABO_ARMEIRO:
				nomeImagem = "imagens/cabo.png";
				break;

			case SARGENTO:
				nomeImagem = "imagens/sargento.png";
				break;

			case GENERAL:
				nomeImagem = "imagens/general.png";
				break;

			case TENENTE:
				nomeImagem = "imagens/tenente.png";
				break;

			case CAPITAO:
				nomeImagem = "imagens/capitao.png";
				break;

			case BOMBA:
				nomeImagem = "imagens/bomba.png";
				break;

			default:
				break;
		}

		imagem = new ImageIcon( nomeImagem ).getImage();
	}

	/**
	 * @return the imagem
	 */
	public Image getImagem() {
		return imagem;
	}

	/**
	 * @param imagem the imagem to set
	 */
	public void setImagem(Image imagem) {
		this.imagem = imagem;
	}

	/**
	 * @return the tipoPeca
	 */
	public TipoPeca getTipoPeca() {
		return tipoPeca;
	}

	/**
	 * @param tipoPeca the tipoPeca to set
	 */
	public void setTipoPeca(TipoPeca tipoPeca) {
		this.tipoPeca = tipoPeca;
	}

	/**
	 * @return the coordenadaX
	 */
	public Integer getCoordenadaX() {
		return coordenadaX;
	}

	/**
	 * @param coordenadaX the coordenadaX to set
	 */
	public void setCoordenadaX(Integer coordenadaX) {
		this.coordenadaX = coordenadaX;
	}

	/**
	 * @return the coordenadaY
	 */
	public Integer getCoordenadaY() {
		return coordenadaY;
	}

	/**
	 * @param coordenadaY the coordenadaY to set
	 */
	public void setCoordenadaY(Integer coordenadaY) {
		this.coordenadaY = coordenadaY;
	}

	public Integer getColuna() {
		return coluna;
	}

	public void setColuna(Integer coluna) {
		this.coluna = coluna;
	}

	public Integer getLinha() {
		return linha;
	}

	public void setLinha(Integer linha) {
		this.linha = linha;
	}

	public void resetarPosicaoInicial(){
		this.coordenadaX = this.getColuna() * DimensoesTabuleiro.LADO_CASA + DimensoesTabuleiro.LIMITE_INICIAL_X;
		this.coordenadaY = this.getLinha() * DimensoesTabuleiro.LADO_CASA + DimensoesTabuleiro.LIMITE_INICIAL_Y;
	}
}
